package com.chinaisafe.user.service;

import com.chinaisafe.user.entity.SysDeptDimension;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaisafe.user.vo.request.SysDeptDimensionReqVO;
import com.chinaisafe.user.vo.response.SysDeptDimensionRespVO;
/**
 * SysDeptDimensionService
 * Description：部门维度服务类
 *
 * @author tby
 * @date 2024-07-16 14:28:47
 */
public interface SysDeptDimensionService extends IService<SysDeptDimension> {
    /**
     * 根据条件获取部门维度分页列表
     *
     * @param sysDeptDimensionReqVO 筛选参数
     * @return Page<SysDeptDimensionRespVO> 分页对象
     * @author tby
     * @date  2024-07-16 14:28:47
     */
    IPage<SysDeptDimensionRespVO> getPageList(SysDeptDimensionReqVO sysDeptDimensionReqVO);

    /**
     * 新增部门维度
     *
     * @param sysDeptDimensionReqVO 新增参数
     * @return SysDeptDimensionRespVO 响应参数
     * @author tby
     * @date 2024-07-16 14:28:47
     */
    SysDeptDimensionRespVO add(SysDeptDimensionReqVO sysDeptDimensionReqVO);

    /**
     * 根据id编辑部门维度
     *
     * @param sysDeptDimensionReqVO 修改参数
     * @return SysDeptDimensionRespVO 响应参数
     * @author tby
     * @date 2024-07-16 14:28:47
     */
    SysDeptDimensionRespVO update(SysDeptDimensionReqVO sysDeptDimensionReqVO);

    /**
     * 新增或修改部门维度
     *
     * @param sysDeptDimensionReqVO 编辑修改参数
     * @return SysDeptDimensionRespVO 响应参数
     * @author tby
     * @date 2024-07-16 14:28:47
     */
    SysDeptDimensionRespVO addOrUpdate(SysDeptDimensionReqVO sysDeptDimensionReqVO);

    /**
     * 根据id获取部门维度详情信息
     *
     * @param sysDeptDimensionId 数据id
     * @return SysDeptDimensionRespVO 响应参数
     * @author tby
     * @date 2024-07-16 14:28:47
     */
    SysDeptDimensionRespVO getDetailById(Long sysDeptDimensionId);

    /**
     * 根据id删除部门维度
     *
     * @param sysDeptDimensionIds id数组
     * @author tby
     * @date 2024-07-16 14:28:47
     */
    void deleteByIds(Long[] sysDeptDimensionIds);
}
